package com.atguigu.guli.service.edu.service;

import com.atguigu.guli.service.edu.entity.Teacher;
import com.atguigu.guli.service.edu.entity.vo.TeacherQueryVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 讲师 服务类
 * </p>
 *
 * @author Zero
 * @since 2020-05-15
 */
public interface TeacherService extends IService<Teacher> {
    /**
     * 根据条件分页查询教师信息
     * @param pageParam 分页信息
     * @param teacherQueryVo 查询条件
     * @return
     */
    IPage<Teacher> selectPage(Page<Teacher> pageParam, TeacherQueryVo teacherQueryVo);

    /**
     * 根据关键字查询名字列表
     * @param key 关键字
     * @return
     */
    List<Map<String, Object>> selectNameList(String key);

    /**
     * 根据id删除讲师头像
     *
     * @param id id
     * @return boolean
     */
    boolean removeAvatarById(String id);

    /**
     * 根据讲师id获取讲师信息
     *
     * @param id 讲师id
     * @return 键值对 teacher:{讲师信息}
     */
    Map<String, Object> selectTeacherInfoById(String id);

    /**
     * 获取首页推荐的前4条讲师数据
     * @return 查询结果
     */
    List<Teacher> selectHotTeacher();
}
